-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds unified settings with migration #9108
Conversation
@@ -657,3 +657,6 @@ folder "InstallDir:MSBuild\Microsoft\VisualStudio\Managed\zh-Hant" | |||
file source="$(VisualStudioXamlRulesDir)zh-Hant\ResolvedProjectReference.xaml" | |||
file source="$(VisualStudioXamlRulesDir)zh-Hant\ResolvedSdkReference.xaml" | |||
file source="$(VisualStudioXamlRulesDir)zh-Hant\SdkReference.xaml" | |||
|
|||
folder "Extensions\Microsoft\ManagedProjectSystem\UnifiedSettings" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're required to place the settings in this specific place: ExtensionRoot\UnifiedSettings*.registration.json
@@ -657,3 +657,6 @@ folder "InstallDir:MSBuild\Microsoft\VisualStudio\Managed\zh-Hant" | |||
file source="$(VisualStudioXamlRulesDir)zh-Hant\ResolvedProjectReference.xaml" | |||
file source="$(VisualStudioXamlRulesDir)zh-Hant\ResolvedSdkReference.xaml" | |||
file source="$(VisualStudioXamlRulesDir)zh-Hant\SdkReference.xaml" | |||
|
|||
folder "Extensions\Microsoft\ManagedProjectSystem\UnifiedSettings" | |||
file source="$(VisualStudioExtensionSetupDir)\ProjectSystemSetup\UnifiedSettings\ManagedProjectSystem.registration.json" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we pick this up from output rather than the source project? The file has CopyToOutputDirectory
so it would be copied somewhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or just don't copy it to the output directory.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a static file, so it's not necessary to pick up from output. @tmeschter removed copying to output dir.
What's the developer experience like with unified settings? If you make a change to that JSON file and press F5, does it apply immediately? Can we create a new .resx file for the strings used in settings? |
src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/VSPackage.resx
Outdated
Show resolved
Hide resolved
What's the "migration" referred to in the PR title? |
Would be good to confirm what's expected around capitalisation. My understanding is that we tend not to use All Caps In Titles Anymore. Instead we use sentence casing with only the first word in caps, unless its a proper noun. You can see this in our documentation on learn.microsoft.com, for example. We were careful to apply this throughout the new Project Properties UI, and a lot of other VS UI does the same, such as codefix labels and so forth. The old UI capitalised all words, but that's a really old style UI. I don't think it suits the new UI. |
"path": "ManagedProjectSystem\\FastUpToDateCheckEnabled" | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Migration" implies that the unified settings will move the current value of the setting as specified in the path
and store it somewhere else going forward. Is that accurate? Any concerns about round-tripping the settings between VS installs using unified settings and those that don't? Or am I misunderstanding what this means?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No concerns about round-tripping, as this migration field takes care of converting legacy <-> unified settings location.
That's correct, they will be stored in a new location determined by the unified settings manager
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are settings stored in both locations then, at least for now? I wonder how conflicts are resolved.
"properties": { | ||
"projectsAndSolutions.sdkStyleProjects.fastUpToDateCheck.enabled": { | ||
"type": "boolean", | ||
"title": "@Setting_FastUpToDateCheck_Enabled_Title;{860A27C0-B665-47F3-BC12-637E16A1050A}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The GUID identifies the VS package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct. I'd comment the json, if it were possible
See #9108 (comment) |
Changed.
No, and it currently has much room for improvement. I've been in touch with the Shell team, and they are working on a better developer experience, but we are one of the dogfooders here. You have to unzip the vsix and manually replace the installed package in the VS install dir. They do not pick up experimental instance extension data.
No, we cannot. I asked this question directly to the team. It must be in the VS package resx |
…s xaml files, fix package content test
tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/SwrTests.cs
Show resolved
Hide resolved
…s/Setup/SwrTests.cs Co-authored-by: Melissa Treviño <[email protected]>
… into dev/adamint/unified-settings-ui
This reverts commit 44565c3.
This reverts commit 44565c3. Co-authored-by: Adam Ratzman <[email protected]>
This reverts commit ad9167e.
…otnet#9129)" This reverts commit 2eca631.
Fixes #8969
For some reason, the unified settings provider doesn't pick up UnifiedSettings folder if it is located in our MS.VS.Editors package. The current settings are located in that package, but in this PR are relocated to the ManagedProjectSystem package.
There is no projectsAndSolutions string, as one already exists (and we are warned about duplicates). I've manually confirmed this works.
Microsoft Reviewers: Open in CodeFlow